package com.yang.common.amqp;

/**
 * @author: Billyang
 * @date: 2024/9/17 23:10
 */
public interface MessageSender {
    /**
     * 发送普通消息
     *
     * @param strategyName
     * @param data
     * @param exchange
     * @param routingKey
     */
    void sendNormalMessage(String strategyName, Object data, String exchange, String routingKey);

    /**
     * 发送广播消息
     *
     * @param data
     * @param exchange
     */
    void sendFanoutMessage(Object data, String exchange);

    /**
     * 发送延时消息
     *
     * @param strategyName
     * @param data
     * @param exchange
     * @param routingKey
     * @param delaySeconds
     */
    void sendDelayMessage(String strategyName, Object data, String exchange, String routingKey, Integer delaySeconds);
}
